package com.test.vcharts.websocket;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Controller;

/**
 * @author wxw
 * 消息通知
 */
@Controller
public class WebsocketController {
    private static final Logger LOGGER = LoggerFactory.getLogger(WebsocketController.class);
    @Autowired
    private SimpMessagingTemplate simpMessagingTemplate;


//
//    /**
//     * 发布地址  订阅地址
//     *
//     * @param content
//     * @return
//     */
//    @MessageMapping("/sendNotice")
//    @SendTo("/topic/notice")
//    public Object notice(String content) {
//        Message msg = JSON.parseObject(content, Message.class);
//        String type = "消息";
//        if (msg != null && msg.getModel() != null && !"".equals(msg.getModel()) && Constant.NOTICE_TYPES.containsKey(msg.getModel())) {
//            type = Constant.NOTICE_TYPES.get(msg.getModel());
//        }
//        msg.setContent("收到一条新的" + type);
//        redisService.lpush(noticeRedisKey, msg);
//        //获取长度
//        Long totalCount = redisService.lLen(noticeRedisKey);
//
//        Map<String, Object> result = new ConcurrentHashMap<>();
//        result.put("total", totalCount);
//
//        //给指定目的地推送
//        simpMessagingTemplate.convertAndSend("/topic/list", result);
//        LOGGER.info("content:{}", msg);
//        return msg;
//    }

//    /**
//     * 通知列表
//     *
//     * @return
//     */
//    @RequestMapping("/notice/list")
//    @ResponseBody
//    public Object noticeList() {
//        JsonResult jsonResult = new JsonResult();
//        try {
//            List<Message> unHandledNoticeList = (List<Message>) redisService.lRange(noticeRedisKey, 0L, -1);
//            return new JsonResult(true, null, unHandledNoticeList);
//        } catch (Exception e) {
//            e.printStackTrace();
//            jsonResult.setError("系统异常");
//            jsonResult.setData(Collections.emptyList());
//        }
//        return jsonResult;
//    }

}
